package com.durian.system.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.durian.common.core.annotation.Excel;
import com.durian.common.core.web.domain.BaseEntity;

/**
 * 商户对象 t_m_company_account
 * 
 * @author durian
 * @date 2022-06-22
 */
public class CompanyAccount extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 商户id */
    @Excel(name = "商户id")
    private Long businessId;

    /** 商户名 */
    @Excel(name = "商户名")
    private String businessName;

    /** 账户余额（支付账户总余额，包括可用余额和冻结余额） */
    @Excel(name = "账户余额", readConverterExp = "支=付账户总余额，包括可用余额和冻结余额")
    private BigDecimal balance;

    /** 冻结余额（不可使用余额） */
    @Excel(name = "冻结余额", readConverterExp = "不=可使用余额")
    private BigDecimal frozenAmount;

    /** 可用余额（可提现或可支付余额） */
    @Excel(name = "可用余额", readConverterExp = "可=提现或可支付余额")
    private BigDecimal cashableAmount;

    /** 需还款 */
    @Excel(name = "需还款")
    private BigDecimal needPayBack;

    /** 账户安全等级（1：低 2：中 3：高）暂时页面不显示 */
    @Excel(name = "账户安全等级", readConverterExp = "1=：低,2=：中,3=：高")
    private Integer accountLevel;

    /** 是否允许重置（0：允许 1：不允许） */
    @Excel(name = "是否允许重置", readConverterExp = "0=：允许,1=：不允许")
    private Integer canCz;

    /** 是否允许提现（0：允许 1：不允许） */
    @Excel(name = "是否允许提现", readConverterExp = "0=：允许,1=：不允许")
    private Integer canTx;

    /** 是否允许透资（0：允许 1：不允许） */
    @Excel(name = "是否允许透资", readConverterExp = "0=：允许,1=：不允许")
    private Integer canTz;

    /** 是否允许支付（0：允许 1：不允许） */
    @Excel(name = "是否允许支付", readConverterExp = "0=：允许,1=：不允许")
    private Integer canZf;

    /** 是否允许转出（0：允许 1：不允许） */
    @Excel(name = "是否允许转出", readConverterExp = "0=：允许,1=：不允许")
    private Integer canZc;

    /** 是否允许转入（0：允许 1：不允许） */
    @Excel(name = "是否允许转入", readConverterExp = "0=：允许,1=：不允许")
    private Integer canZr;

    /** 是否激活状态（0：未激活 1：激活） */
    @Excel(name = "是否激活状态", readConverterExp = "0=：未激活,1=：激活")
    private Integer accountState;

    /** 安全保障等级 */
    @Excel(name = "安全保障等级")
    private String securityLevel;

    /** 交易密码 */
    @Excel(name = "交易密码")
    private String dealPassword;

    /** 预留字段1 */
    @Excel(name = "预留字段1")
    private BigDecimal reserve1;

    /** 预留字段2 */
    @Excel(name = "预留字段2")
    private Long reserve2;

    /** 预留字段3 */
    @Excel(name = "预留字段3")
    private String reserve3;

    /** 预留字段4 */
    @Excel(name = "预留字段4")
    private String reserve4;

    /** 预留字段5 */
    @Excel(name = "预留字段5")
    private String reserve5;

    /** 删除标识（0：未删除）（1：删除） */
    @Excel(name = "删除标识", readConverterExp = "0=：未删除")
    private Integer delFlg;

    /** 创建用户id */
    @Excel(name = "创建用户id")
    private Long createUserid;

    /** 更新用户id */
    @Excel(name = "更新用户id")
    private Long updateUserid;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setBusinessId(Long businessId) 
    {
        this.businessId = businessId;
    }

    public Long getBusinessId() 
    {
        return businessId;
    }
    public void setBusinessName(String businessName) 
    {
        this.businessName = businessName;
    }

    public String getBusinessName() 
    {
        return businessName;
    }
    public void setBalance(BigDecimal balance) 
    {
        this.balance = balance;
    }

    public BigDecimal getBalance() 
    {
        return balance;
    }
    public void setFrozenAmount(BigDecimal frozenAmount) 
    {
        this.frozenAmount = frozenAmount;
    }

    public BigDecimal getFrozenAmount() 
    {
        return frozenAmount;
    }
    public void setCashableAmount(BigDecimal cashableAmount) 
    {
        this.cashableAmount = cashableAmount;
    }

    public BigDecimal getCashableAmount() 
    {
        return cashableAmount;
    }
    public void setNeedPayBack(BigDecimal needPayBack) 
    {
        this.needPayBack = needPayBack;
    }

    public BigDecimal getNeedPayBack() 
    {
        return needPayBack;
    }
    public void setAccountLevel(Integer accountLevel) 
    {
        this.accountLevel = accountLevel;
    }

    public Integer getAccountLevel() 
    {
        return accountLevel;
    }
    public void setCanCz(Integer canCz) 
    {
        this.canCz = canCz;
    }

    public Integer getCanCz() 
    {
        return canCz;
    }
    public void setCanTx(Integer canTx) 
    {
        this.canTx = canTx;
    }

    public Integer getCanTx() 
    {
        return canTx;
    }
    public void setCanTz(Integer canTz) 
    {
        this.canTz = canTz;
    }

    public Integer getCanTz() 
    {
        return canTz;
    }
    public void setCanZf(Integer canZf) 
    {
        this.canZf = canZf;
    }

    public Integer getCanZf() 
    {
        return canZf;
    }
    public void setCanZc(Integer canZc) 
    {
        this.canZc = canZc;
    }

    public Integer getCanZc() 
    {
        return canZc;
    }
    public void setCanZr(Integer canZr) 
    {
        this.canZr = canZr;
    }

    public Integer getCanZr() 
    {
        return canZr;
    }
    public void setAccountState(Integer accountState) 
    {
        this.accountState = accountState;
    }

    public Integer getAccountState() 
    {
        return accountState;
    }
    public void setSecurityLevel(String securityLevel) 
    {
        this.securityLevel = securityLevel;
    }

    public String getSecurityLevel() 
    {
        return securityLevel;
    }
    public void setDealPassword(String dealPassword) 
    {
        this.dealPassword = dealPassword;
    }

    public String getDealPassword() 
    {
        return dealPassword;
    }
    public void setReserve1(BigDecimal reserve1) 
    {
        this.reserve1 = reserve1;
    }

    public BigDecimal getReserve1() 
    {
        return reserve1;
    }
    public void setReserve2(Long reserve2) 
    {
        this.reserve2 = reserve2;
    }

    public Long getReserve2() 
    {
        return reserve2;
    }
    public void setReserve3(String reserve3) 
    {
        this.reserve3 = reserve3;
    }

    public String getReserve3() 
    {
        return reserve3;
    }
    public void setReserve4(String reserve4) 
    {
        this.reserve4 = reserve4;
    }

    public String getReserve4() 
    {
        return reserve4;
    }
    public void setReserve5(String reserve5) 
    {
        this.reserve5 = reserve5;
    }

    public String getReserve5() 
    {
        return reserve5;
    }
    public void setDelFlg(Integer delFlg) 
    {
        this.delFlg = delFlg;
    }

    public Integer getDelFlg() 
    {
        return delFlg;
    }
    public void setCreateUserid(Long createUserid) 
    {
        this.createUserid = createUserid;
    }

    public Long getCreateUserid() 
    {
        return createUserid;
    }
    public void setUpdateUserid(Long updateUserid) 
    {
        this.updateUserid = updateUserid;
    }

    public Long getUpdateUserid() 
    {
        return updateUserid;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("businessId", getBusinessId())
            .append("businessName", getBusinessName())
            .append("balance", getBalance())
            .append("frozenAmount", getFrozenAmount())
            .append("cashableAmount", getCashableAmount())
            .append("needPayBack", getNeedPayBack())
            .append("accountLevel", getAccountLevel())
            .append("canCz", getCanCz())
            .append("canTx", getCanTx())
            .append("canTz", getCanTz())
            .append("canZf", getCanZf())
            .append("canZc", getCanZc())
            .append("canZr", getCanZr())
            .append("accountState", getAccountState())
            .append("securityLevel", getSecurityLevel())
            .append("dealPassword", getDealPassword())
            .append("reserve1", getReserve1())
            .append("reserve2", getReserve2())
            .append("reserve3", getReserve3())
            .append("reserve4", getReserve4())
            .append("reserve5", getReserve5())
            .append("delFlg", getDelFlg())
            .append("createUserid", getCreateUserid())
            .append("createTime", getCreateTime())
            .append("updateUserid", getUpdateUserid())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
